package com.todo.member.iface.backend;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.member.iface.backend.request.*;
import com.todo.member.iface.backend.response.MemberLevelResponse;

/**
 * @author azhebuxing
 * @date 2025/2/12 19:39
 * @description
 */
public interface MemberLevelBackendIface {

    /**
     * 插入会员等级信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertMemberLevelInfo(InsertMemberLevelInfoReq req);

    /**
     * 更新会员等级信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemberLevelInfo(UpdateMemberLevelInfoReq req);

    /**
     * 删除会员等级信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeMemberLevelInfo(RemoveMemberLevelInfoReq req);

    /**
     * 更新会员等级状态
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateMemberLevelStatus(UpdateMemberLevelStatusReq req);

    /**
     * 查询会员等级信息
     *
     * @param req
     * @return
     */
    BizResponse<MemberLevelResponse> queryMemberLevelInfoById(QueryMemberLevelInfoReq req);

    /**
     * 多条件查询会员等级信息
     *
     * @param req
     * @return
     */
    BizPageResponse<MemberLevelResponse> queryMemberLevelInfoByPage(QueryMemberLevelByConditionReq req);
}
